
interface AType {
  name: string,
  age: 22
}

//请传数字
// function fun(a: (number | string)[]) {
function fun(a: AType): number {
  //void 无 指的是无返回值 它也是ts的一种类型 : number 返回的数字类型
  return 1111
}
fun({ name: 'aaa', age: 22 })
// fun(123)
// fun('abc')i
// fun(true)

function add(x: number): number {
  return x
}
// 函数表达式  ?选填 可传可不传
let add2 = (x: number, y?: number): number => {
  return x
}
// (x:number)=>number 函数的签名 箭头右边是返回值 左边是参数类型
let add3: (x: number) => number = function (x) {
  return x
}
// 以上三种写法效果一样
